[INFO] cloning repository https://github.com/seemk/libz80-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/seemk/libz80-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseemk%2Flibz80-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseemk%2Flibz80-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0a24d459e207116a9d0e1837ef69df21a974ce24
[INFO] building seemk/libz80-rs against master#881c1ac408d93bb7adaa3a51dabab9266e82eee8 for issue-85264
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseemk%2Flibz80-rs" "/workspace/builds/worker-9/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/seemk/libz80-rs on toolchain 881c1ac408d93bb7adaa3a51dabab9266e82eee8
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/seemk/libz80-rs
[INFO] finished tweaking git repo https://github.com/seemk/libz80-rs
[INFO] tweaked toml for git repo https://github.com/seemk/libz80-rs written to /workspace/builds/worker-9/source/Cargo.toml
[INFO] crate git repo https://github.com/seemk/libz80-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c35ccae68a1d23e77ccce938f8949046da74cbb60ee4c2e2449ff86002b7571c
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "c35ccae68a1d23e77ccce938f8949046da74cbb60ee4c2e2449ff86002b7571c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c35ccae68a1d23e77ccce938f8949046da74cbb60ee4c2e2449ff86002b7571c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c35ccae68a1d23e77ccce938f8949046da74cbb60ee4c2e2449ff86002b7571c", kill_on_drop: false }`
[INFO] [stdout] c35ccae68a1d23e77ccce938f8949046da74cbb60ee4c2e2449ff86002b7571c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 742a917e40d68ca290f7940679d0d176dabfa7f2afb664529a0ceb0bcd51802f
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "742a917e40d68ca290f7940679d0d176dabfa7f2afb664529a0ceb0bcd51802f", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.6
[INFO] [stderr]    Compiling libz80-rs v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unknown lint: `uppercase_variables`
[INFO] [stdout]   --> src/lib.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[allow(uppercase_variables)]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unknown_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unknown lint: `uppercase_variables`
[INFO] [stdout]   --> src/lib.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[allow(uppercase_variables)]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `AF` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub AF: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `af`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `BC` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub BC: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `bc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `DE` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub DE: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `de`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `HL` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub HL: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `hl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IX` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub IX: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case (notice the capitalization): `ix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IY` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub IY: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case (notice the capitalization): `iy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SP` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub SP: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `R1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub R1: Registers,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `R2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub R2: Registers,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `r2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `PC` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub PC: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `pc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `R` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub R: c_uchar,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `I` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub I: c_uchar,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IFF1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub IFF1: c_uchar,
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case (notice the capitalization): `iff1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IFF2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub IFF2: c_uchar,
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case (notice the capitalization): `iff2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IM` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub IM: c_uchar,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `im`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_AF1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 | reg_access!(set_AF1, get_AF1, AF, R1, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_af1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_AF1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:94:22
[INFO] [stdout]    |
[INFO] [stdout] 94 | reg_access!(set_AF1, get_AF1, AF, R1, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_af1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_BC1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 | reg_access!(set_BC1, get_BC1, BC, R1, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_bc1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_BC1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:95:22
[INFO] [stdout]    |
[INFO] [stdout] 95 | reg_access!(set_BC1, get_BC1, BC, R1, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_bc1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_DE1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 | reg_access!(set_DE1, get_DE1, DE, R1, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_de1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_DE1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:96:22
[INFO] [stdout]    |
[INFO] [stdout] 96 | reg_access!(set_DE1, get_DE1, DE, R1, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_de1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_HL1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 | reg_access!(set_HL1, get_HL1, HL, R1, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_hl1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_HL1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:97:22
[INFO] [stdout]    |
[INFO] [stdout] 97 | reg_access!(set_HL1, get_HL1, HL, R1, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_hl1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_AF2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 | reg_access!(set_AF2, get_AF2, AF, R2, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_af2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_AF2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:98:22
[INFO] [stdout]    |
[INFO] [stdout] 98 | reg_access!(set_AF2, get_AF2, AF, R2, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_af2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_BC2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 | reg_access!(set_BC2, get_BC2, BC, R2, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_bc2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_BC2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:99:22
[INFO] [stdout]    |
[INFO] [stdout] 99 | reg_access!(set_BC2, get_BC2, BC, R2, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_bc2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_DE2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 | reg_access!(set_DE2, get_DE2, DE, R2, u16);
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `set_de2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_DE2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:100:22
[INFO] [stdout]     |
[INFO] [stdout] 100 | reg_access!(set_DE2, get_DE2, DE, R2, u16);
[INFO] [stdout]     |                      ^^^^^^^ help: convert the identifier to snake case: `get_de2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_HL2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 | reg_access!(set_HL2, get_HL2, HL, R2, u16);
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `set_hl2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_HL2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:101:22
[INFO] [stdout]     |
[INFO] [stdout] 101 | reg_access!(set_HL2, get_HL2, HL, R2, u16);
[INFO] [stdout]     |                      ^^^^^^^ help: convert the identifier to snake case: `get_hl2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_IY` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 | reg_access!(set_IY,  get_IY,  IY, R1, u16);
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_iy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_IY` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:102:22
[INFO] [stdout]     |
[INFO] [stdout] 102 | reg_access!(set_IY,  get_IY,  IY, R1, u16);
[INFO] [stdout]     |                      ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_iy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_IX` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 | reg_access!(set_IX,  get_IX,  IX, R1, u16);
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_ix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_IX` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:103:22
[INFO] [stdout]     |
[INFO] [stdout] 103 | reg_access!(set_IX,  get_IX,  IX, R1, u16);
[INFO] [stdout]     |                      ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_ix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_SP` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 | reg_access!(set_SP,  get_SP,  SP, R1, u16);
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `set_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_SP` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:104:22
[INFO] [stdout]     |
[INFO] [stdout] 104 | reg_access!(set_SP,  get_SP,  SP, R1, u16);
[INFO] [stdout]     |                      ^^^^^^ help: convert the identifier to snake case: `get_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `UserData`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:174:24
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn Z80Execute(ctx: *mut Context);
[INFO] [stdout]     |                        ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/lib.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub struct UserData;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `UserData`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:175:31
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn Z80ExecuteTStates(ctx: *mut Context, tstates: c_uint) ->
[INFO] [stdout]     |                               ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/lib.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub struct UserData;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `UserData`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:22
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fn Z80RESET(ctx: *mut Context);
[INFO] [stdout]     |                      ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/lib.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub struct UserData;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `UserData`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:179:20
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn Z80INT(ctx: *mut Context, value: c_uchar);
[INFO] [stdout]     |                    ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/lib.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub struct UserData;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `UserData`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:180:20
[INFO] [stdout]     |
[INFO] [stdout] 180 |     fn Z80NMI(ctx: *mut Context);
[INFO] [stdout]     |                    ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/lib.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub struct UserData;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.64s
[INFO] running `Command { std: "docker" "inspect" "742a917e40d68ca290f7940679d0d176dabfa7f2afb664529a0ceb0bcd51802f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "742a917e40d68ca290f7940679d0d176dabfa7f2afb664529a0ceb0bcd51802f", kill_on_drop: false }`
[INFO] [stdout] 742a917e40d68ca290f7940679d0d176dabfa7f2afb664529a0ceb0bcd51802f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cec0de5d5dd3668526843e852ca8390762893dd7695501347ed9a2b7ff8dea09
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "cec0de5d5dd3668526843e852ca8390762893dd7695501347ed9a2b7ff8dea09", kill_on_drop: false }`
[INFO] [stdout] warning: unknown lint: `uppercase_variables`
[INFO] [stdout]   --> src/lib.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[allow(uppercase_variables)]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unknown_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unknown lint: `uppercase_variables`
[INFO] [stdout]   --> src/lib.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[allow(uppercase_variables)]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `AF` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub AF: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `af`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `BC` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub BC: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `bc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `DE` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub DE: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `de`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `HL` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub HL: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `hl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IX` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub IX: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case (notice the capitalization): `ix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IY` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub IY: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case (notice the capitalization): `iy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SP` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub SP: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `R1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub R1: Registers,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `R2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub R2: Registers,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `r2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `PC` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub PC: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `pc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `R` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub R: c_uchar,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `I` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub I: c_uchar,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IFF1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub IFF1: c_uchar,
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case (notice the capitalization): `iff1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IFF2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub IFF2: c_uchar,
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case (notice the capitalization): `iff2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IM` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub IM: c_uchar,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `im`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_AF1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 | reg_access!(set_AF1, get_AF1, AF, R1, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_af1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_AF1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:94:22
[INFO] [stdout]    |
[INFO] [stdout] 94 | reg_access!(set_AF1, get_AF1, AF, R1, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_af1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_BC1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 | reg_access!(set_BC1, get_BC1, BC, R1, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_bc1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_BC1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:95:22
[INFO] [stdout]    |
[INFO] [stdout] 95 | reg_access!(set_BC1, get_BC1, BC, R1, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_bc1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_DE1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 | reg_access!(set_DE1, get_DE1, DE, R1, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_de1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_DE1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:96:22
[INFO] [stdout]    |
[INFO] [stdout] 96 | reg_access!(set_DE1, get_DE1, DE, R1, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_de1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_HL1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 | reg_access!(set_HL1, get_HL1, HL, R1, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_hl1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_HL1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:97:22
[INFO] [stdout]    |
[INFO] [stdout] 97 | reg_access!(set_HL1, get_HL1, HL, R1, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_hl1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_AF2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 | reg_access!(set_AF2, get_AF2, AF, R2, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_af2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_AF2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:98:22
[INFO] [stdout]    |
[INFO] [stdout] 98 | reg_access!(set_AF2, get_AF2, AF, R2, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_af2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_BC2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 | reg_access!(set_BC2, get_BC2, BC, R2, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_bc2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_BC2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:99:22
[INFO] [stdout]    |
[INFO] [stdout] 99 | reg_access!(set_BC2, get_BC2, BC, R2, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_bc2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_DE2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 | reg_access!(set_DE2, get_DE2, DE, R2, u16);
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `set_de2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_DE2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:100:22
[INFO] [stdout]     |
[INFO] [stdout] 100 | reg_access!(set_DE2, get_DE2, DE, R2, u16);
[INFO] [stdout]     |                      ^^^^^^^ help: convert the identifier to snake case: `get_de2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_HL2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 | reg_access!(set_HL2, get_HL2, HL, R2, u16);
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `set_hl2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_HL2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:101:22
[INFO] [stdout]     |
[INFO] [stdout] 101 | reg_access!(set_HL2, get_HL2, HL, R2, u16);
[INFO] [stdout]     |                      ^^^^^^^ help: convert the identifier to snake case: `get_hl2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_IY` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 | reg_access!(set_IY,  get_IY,  IY, R1, u16);
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_iy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_IY` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:102:22
[INFO] [stdout]     |
[INFO] [stdout] 102 | reg_access!(set_IY,  get_IY,  IY, R1, u16);
[INFO] [stdout]     |                      ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_iy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_IX` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 | reg_access!(set_IX,  get_IX,  IX, R1, u16);
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_ix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_IX` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:103:22
[INFO] [stdout]     |
[INFO] [stdout] 103 | reg_access!(set_IX,  get_IX,  IX, R1, u16);
[INFO] [stdout]     |                      ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_ix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_SP` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 | reg_access!(set_SP,  get_SP,  SP, R1, u16);
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `set_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_SP` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:104:22
[INFO] [stdout]     |
[INFO] [stdout] 104 | reg_access!(set_SP,  get_SP,  SP, R1, u16);
[INFO] [stdout]     |                      ^^^^^^ help: convert the identifier to snake case: `get_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `UserData`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:174:24
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn Z80Execute(ctx: *mut Context);
[INFO] [stdout]     |                        ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/lib.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub struct UserData;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `UserData`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:175:31
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn Z80ExecuteTStates(ctx: *mut Context, tstates: c_uint) ->
[INFO] [stdout]     |                               ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/lib.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub struct UserData;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `UserData`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:22
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fn Z80RESET(ctx: *mut Context);
[INFO] [stdout]     |                      ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/lib.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub struct UserData;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `UserData`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:179:20
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn Z80INT(ctx: *mut Context, value: c_uchar);
[INFO] [stdout]     |                    ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/lib.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub struct UserData;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `UserData`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:180:20
[INFO] [stdout]     |
[INFO] [stdout] 180 |     fn Z80NMI(ctx: *mut Context);
[INFO] [stdout]     |                    ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/lib.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub struct UserData;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling libz80-rs v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unknown lint: `uppercase_variables`
[INFO] [stdout]   --> src/lib.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[allow(uppercase_variables)]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unknown_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unknown lint: `uppercase_variables`
[INFO] [stdout]   --> src/lib.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[allow(uppercase_variables)]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `AF` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub AF: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `af`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `BC` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub BC: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `bc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `DE` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub DE: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `de`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `HL` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub HL: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `hl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IX` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub IX: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case (notice the capitalization): `ix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IY` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub IY: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case (notice the capitalization): `iy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SP` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub SP: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `R1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub R1: Registers,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `R2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub R2: Registers,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `r2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `PC` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub PC: c_ushort,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `pc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `R` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub R: c_uchar,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `I` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub I: c_uchar,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IFF1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub IFF1: c_uchar,
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case (notice the capitalization): `iff1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IFF2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub IFF2: c_uchar,
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case (notice the capitalization): `iff2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IM` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub IM: c_uchar,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `im`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_AF1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 | reg_access!(set_AF1, get_AF1, AF, R1, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_af1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_AF1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:94:22
[INFO] [stdout]    |
[INFO] [stdout] 94 | reg_access!(set_AF1, get_AF1, AF, R1, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_af1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_BC1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 | reg_access!(set_BC1, get_BC1, BC, R1, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_bc1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_BC1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:95:22
[INFO] [stdout]    |
[INFO] [stdout] 95 | reg_access!(set_BC1, get_BC1, BC, R1, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_bc1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_DE1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 | reg_access!(set_DE1, get_DE1, DE, R1, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_de1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_DE1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:96:22
[INFO] [stdout]    |
[INFO] [stdout] 96 | reg_access!(set_DE1, get_DE1, DE, R1, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_de1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_HL1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 | reg_access!(set_HL1, get_HL1, HL, R1, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_hl1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_HL1` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:97:22
[INFO] [stdout]    |
[INFO] [stdout] 97 | reg_access!(set_HL1, get_HL1, HL, R1, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_hl1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_AF2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 | reg_access!(set_AF2, get_AF2, AF, R2, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_af2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_AF2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:98:22
[INFO] [stdout]    |
[INFO] [stdout] 98 | reg_access!(set_AF2, get_AF2, AF, R2, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_af2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_BC2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 | reg_access!(set_BC2, get_BC2, BC, R2, u16);
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `set_bc2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_BC2` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:99:22
[INFO] [stdout]    |
[INFO] [stdout] 99 | reg_access!(set_BC2, get_BC2, BC, R2, u16);
[INFO] [stdout]    |                      ^^^^^^^ help: convert the identifier to snake case: `get_bc2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_DE2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 | reg_access!(set_DE2, get_DE2, DE, R2, u16);
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `set_de2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_DE2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:100:22
[INFO] [stdout]     |
[INFO] [stdout] 100 | reg_access!(set_DE2, get_DE2, DE, R2, u16);
[INFO] [stdout]     |                      ^^^^^^^ help: convert the identifier to snake case: `get_de2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_HL2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 | reg_access!(set_HL2, get_HL2, HL, R2, u16);
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `set_hl2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_HL2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:101:22
[INFO] [stdout]     |
[INFO] [stdout] 101 | reg_access!(set_HL2, get_HL2, HL, R2, u16);
[INFO] [stdout]     |                      ^^^^^^^ help: convert the identifier to snake case: `get_hl2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_IY` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 | reg_access!(set_IY,  get_IY,  IY, R1, u16);
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_iy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_IY` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:102:22
[INFO] [stdout]     |
[INFO] [stdout] 102 | reg_access!(set_IY,  get_IY,  IY, R1, u16);
[INFO] [stdout]     |                      ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_iy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_IX` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 | reg_access!(set_IX,  get_IX,  IX, R1, u16);
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_ix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_IX` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:103:22
[INFO] [stdout]     |
[INFO] [stdout] 103 | reg_access!(set_IX,  get_IX,  IX, R1, u16);
[INFO] [stdout]     |                      ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_ix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_SP` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 | reg_access!(set_SP,  get_SP,  SP, R1, u16);
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `set_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_SP` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:104:22
[INFO] [stdout]     |
[INFO] [stdout] 104 | reg_access!(set_SP,  get_SP,  SP, R1, u16);
[INFO] [stdout]     |                      ^^^^^^ help: convert the identifier to snake case: `get_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `UserData`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:174:24
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn Z80Execute(ctx: *mut Context);
[INFO] [stdout]     |                        ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/lib.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub struct UserData;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `UserData`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:175:31
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn Z80ExecuteTStates(ctx: *mut Context, tstates: c_uint) ->
[INFO] [stdout]     |                               ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/lib.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub struct UserData;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `UserData`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:178:22
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fn Z80RESET(ctx: *mut Context);
[INFO] [stdout]     |                      ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/lib.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub struct UserData;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `UserData`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:179:20
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn Z80INT(ctx: *mut Context, value: c_uchar);
[INFO] [stdout]     |                    ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/lib.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub struct UserData;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `UserData`, which is not FFI-safe
[INFO] [stdout]    --> src/lib.rs:180:20
[INFO] [stdout]     |
[INFO] [stdout] 180 |     fn Z80NMI(ctx: *mut Context);
[INFO] [stdout]     |                    ^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/lib.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout] 9   | pub struct UserData;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: "cc" "-m64" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-Wl,--as-needed" "-L" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/opt/rustwide/target/debug/deps/z80-8e20009908b0b9c4.z80.3qz0lkqy-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/z80-8e20009908b0b9c4.z80.3qz0lkqy-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/z80-8e20009908b0b9c4.z80.3qz0lkqy-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/z80-8e20009908b0b9c4.z80.3qz0lkqy-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/z80-8e20009908b0b9c4.z80.3qz0lkqy-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/z80-8e20009908b0b9c4.z80.3qz0lkqy-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/z80-8e20009908b0b9c4.z80.3qz0lkqy-cgu.6.rcgu.o" "-o" "/opt/rustwide/target/debug/deps/z80-8e20009908b0b9c4" "/opt/rustwide/target/debug/deps/z80-8e20009908b0b9c4.4ii01ggiiv0jmmov.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-lz80" "-Wl,-Bstatic" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-e0d08a82dcb7da7b.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm-24036eb8e889985c.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-759d40b5d9a6a451.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-7590543c881e6235.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-56b60793e4f96438.rlib" "/opt/rustwide/target/debug/deps/liblibc-345128296c9db35b.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-c6dddd3d354e6bea.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-c2ca47afdcc5e309.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-b47be2942017e108.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-20a1e49116ab0df9.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-25e09d9868291683.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-9c99fb6e5ca5159e.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-85040d7563599960.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-0e4f7587da8acf20.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-7be0a6711ed15b5c.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-00672fabc4ff9c9d.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-72fe231ef0473d15.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-019d54ecc304b655.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-cc7d9343e4f608be.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-e41c6d24baeb2249.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-9849bb0fbad7f0f5.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-a1fd7734706d5518.rlib" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-c8ded1707ad10767.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/881c1ac408d93bb7adaa3a51dabab9266e82eee8/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-8b33f9cbbc9652fe.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc"
[INFO] [stdout]   = note: /usr/bin/ld: cannot find -lz80
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `libz80-rs`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "cec0de5d5dd3668526843e852ca8390762893dd7695501347ed9a2b7ff8dea09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cec0de5d5dd3668526843e852ca8390762893dd7695501347ed9a2b7ff8dea09", kill_on_drop: false }`
[INFO] [stdout] cec0de5d5dd3668526843e852ca8390762893dd7695501347ed9a2b7ff8dea09
